#include <iostream>
#include <string>
#include <jsoncpp/json/json.h>

#include <iostream>
#include <jsoncpp/json/json.h>

int main()
{
    Json::Value root;
    root["name"] = "zhangsan";
    root["age"] = 18;
    root["year"] = 2024;

    Json::FastWriter fast_write;
    Json::StyledWriter styledwriter;

    std::string str1 = fast_write.write(root);
    std::cout << str1 << std::endl;
    std::cout << "------------------------------" << std::endl;
    std::string str2 = styledwriter.write(root);
    std::cout << str2 << std::endl;

    return 0;
}

// int main()
// {
//     // 定义一个json对象
//     Json::Value root;
//     // 赋值
//     // 最终的效果是：name: joe ...
//     root["name"] = "joe";
//     root["gender"] = "man";

//     // 序列化 --- 格式型
//     std::string s1 = root.toStyledString();

//     // 定义一个写对象
//     Json::FastWriter writer;
//     // 将Json对象输入到字符串中
//     std::string s2 = writer.write(root);

//     std::cout << s2 << std::endl;

//     std::cout << "----------------------------" << std::endl;

//     Json::StyledWriter w;
//     std::string s3 = w.write(root);

//     std::cout << s3 << std::endl;

//     std::cout << "----------------------------" << std::endl;

//     Json::Reader reader;
//     Json::Value val;
//     bool is_read_success = reader.parse(s3, val);

//     std::string name = val["name"].asString();
//     std::string gender = val["gender"].asString();
//     std::cout << name << std::endl;
//     std::cout << gender << std::endl;
//     return 0;
// }